<?php
/**
 * 错误码常量表
 *
 * Author: Zeon
 * Date: 2018/3/20
 * Created by Panxsoft.
 */
namespace App\Exceptions;


class ApiErrCode
{
    const LOG_PREFIX = '[MIR DEBUG] ';

    const API_CODE_OK = 0; // api 正常返回码

    const UNKNOWN_ERROR = -1;

    const NEED_FORCE_OPERATE = 1010;

    const REQUEST_PARAMS_ERROR = 3001;
    const REQUEST_PARAMS_EMPTY = 3002;      // 参数不能为空
    const REQUEST_PARAMS_TYPE_ERROR = 3003;
    const REQUEST_PARAMS_NOT_IN_RANGE = 3004;  // 不在可选范围

    //  用户权限错误 4000 +
    const INVALID_PASSWORD = 4000;
    const WECHAT_USER_NOT_FOUND = 4001;
    const WECHAT_USER_INFO_AUTH_NEEDED = 4004;
    const ADMIN_AUTH_NOT_FOUND = 4006;           // 访问者无权访问

    const REQUEST_FAILED_PASS_VALIDATE = 4007;

    const AUTHORIZER_NOT_FOUND = 4011;    // 未找到授权公众号
    const UNSUBSCRIBED_OFFICIAL_ACCOUNT = 4012;   // 没有关注公众号
    const WECHAT_USER_NOT_MATCHED = 4021;

    const OPERATOR_NOT_ALLOWED = 4031;    // 无操作权限
    const OPERATE_FAILED = 4032;          // 执行项目操作失败，请检查

    // 服务端错误 5000 +
    const DB_ITEM_NOT_FOUND = 5001;       // 你所查找的内容不存在
    const DB_NOT_EDITABLE = 5011;         // 你所查找的内容已锁定，不能修改
    const DB_EDIT_FAILED = 5012;
    const DB_TRANSACTION_FAILED = 5100; // 数据库事务错误
    
    const CUSTOMIZE_ERROR = 5013;
    
    const COLLECTION_EMPTY_ERROR = 5015;  //检测集合是否为空

    const SMS_SEND_FAILED = 5040;   // SMS 发送失败
    const VERIFY_CODE_FAIL = 5041;   // 验证码验证失败
    const SMS_PROXY_SEND_FAILED = 5042;   // SMS 代理发送失败
    const EMAIL_SEND_FAILED = 5050;   // email 发送失败
    
    // Token 相关错误
    const TOKEN_GENERATE_FAIL = 6000;
    const TOKEN_ERROR         = 6001;
    const JWT_TOKEN_NOT_FOUND = 7002;         // token 参数不能为空
    const JWT_TOKEN_INVALID   = 7003;         // token 失效，前端应尝试刷新 token
    
    const AUTHORIZE_ERROR_ID_UNKNOWN = 9001 ;     // Request 类认证失败默认错误

    const AUTHORIZE_ERROR_ID_APPID = 9002 ;     // 授权公众号接入权限 APPID 错误

    const AUTHORIZE_CANCELED = 9003 ;     // 授权公众号已取消授权

    const TAOBAO_CRAWLER_FAIL = 9100 ;     // 获取淘宝商品数据失败

    const NOT_CAN_UPDATE_ROLE = 9300 ;

    const APP_DUPLICATE_LOGIN = 9400;     // App 重复登录被挤下线
    const APP_PASSWORD_MODIFIED = 9400;     // App 密码修改重新登录

    const YOUZAN_ERROR = 10110;     // 有赞统一错误

    const BOS_UPLOAD_ERROR = 10120; // BOS上传 错误

    // 用户提交数据错误
    const REQUEST_DATA_ERROR=41000; //用户提交的数据错误

    /*
     |----------------------------------------------------------------
     | 下面是特定的接口返回特定代码，长度 5 位数，不会重复全局只使用一次
     |----------------------------------------------------------------
     */
    const WX_USER_IS_BOUND_ERROR = 40001;       // 收藏试妆照片已经绑定

    const APP_LOGIN_SCAN_EVT_NOT_FOUND = 50001; // APP 轮询用户登录扫码只有这个返回值才继续轮询，不然会中断

    const APP_STAFF_SCAN_EVT_NOT_FOUND = 50002; // APP 轮询店员绑定扫码只有这个返回值才继续轮询，不然会中断

    const APP_FAVORS_SCAN_EVT_NOT_FOUND = 50004; // APP 轮询收藏照片扫码只有这个返回值才继续轮询，不然会中断

    const WX_SESSION_OPENID_NOT_FOUND = 50003; // 微信网页获取 openid 第一次没有缓存需要重定向到开放平台授权
    
    const LOCAL_DEV_REQUEST_ONLINE_WX_AUTHOR_ACS_TOKEN_FAILED = 50004;
}

